Cookies এবং URL Rewriting এর মাধ্যমে Session Tracking

Servlet এর মধ্যে Session Management - সার্ভলেটস (Servlets) - Java Technologies

330

Session Tracking হল একটি গুরুত্বপূর্ণ প্রযুক্তি, যা ওয়েব অ্যাপ্লিকেশনে এক্সেস করার সময় ব্যবহারকারীর তথ্য সংরক্ষণ করে রাখে। ওয়েব অ্যাপ্লিকেশনগুলিতে, যেখানে HTTP প্রোটোকল স্টেটলেস (stateless), সেখানে সেশন ট্র্যাকিং ব্যবহারকারীর পছন্দ, লগইন তথ্য, এবং অন্যান্য তথ্য সংরক্ষণ করার জন্য ব্যবহৃত হয়।

Cookies এবং URL Rewriting হল দুটি প্রধান পদ্ধতি যা Session Tracking করতে ব্যবহৃত হয়। এখানে আমরা Cookies এবং URL Rewriting এর মাধ্যমে সেশন ট্র্যাকিং করার পদ্ধতি এবং উদাহরণ দেখব।


১. Cookies ব্যবহার করে Session Tracking

Cookies হল ক্লায়েন্ট-সাইডে ছোট আকারের ডেটা ফাইল যা ওয়েব সার্ভার থেকে ওয়েব ব্রাউজারে পাঠানো হয় এবং তা পরে একই সার্ভারে ফেরত পাঠানো হয়। এটি ব্যবহারকারীর তথ্য সংরক্ষণ করতে সহায়তা করে। সার্ভলেটের মাধ্যমে Cookies ব্যবহার করে সেশন ট্র্যাকিং করা সম্ভব।

১.১ Cookies তৈরি করা এবং পাঠানো

একটি সার্ভলেটের মাধ্যমে কুকি তৈরি করা এবং সেট করা যায়। উদাহরণস্বরূপ, আমরা ব্যবহারকারীর নাম কুকি হিসেবে সংরক্ষণ করব।

Cookies তৈরি এবং সেট করার উদাহরণ:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class CookieServlet extends HttpServlet {
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        // কুকি তৈরি করা
        String userName = request.getParameter("userName");
        Cookie userCookie = new Cookie("userName", userName);  // userName কুকি তৈরি করা
        
        // কুকি সেট করা
        userCookie.setMaxAge(60 * 60 * 24);  // 24 ঘণ্টার জন্য কুকি সেট করা
        response.addCookie(userCookie);  // কুকি রেসপন্সে যোগ করা
        
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Cookie Created for: " + userName + "</h1>");
        out.println("</body></html>");
    }
}

এখানে:

  • Cookie অবজেক্ট তৈরি করে সেটিতে ব্যবহারকারীর নাম সংরক্ষণ করা হয়েছে।
  • setMaxAge() মেথড ব্যবহার করে কুকির মেয়াদ নির্ধারণ করা হয়েছে।
  • addCookie() মেথডের মাধ্যমে কুকিটি রেসপন্সে যোগ করা হয়েছে।

১.২ কুকি গ্রহণ করা

ব্যবহারকারীর কাছ থেকে কুকি গ্রহণ করা এবং সেটি ব্যবহার করার জন্য getCookies() মেথড ব্যবহার করা হয়।

Cookies গ্রহণ করার উদাহরণ:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Cookie[] cookies = request.getCookies();  // কুকি গ্রহণ করা
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    if (cookies != null) {
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("userName")) {
                out.println("<h1>Welcome back, " + cookie.getValue() + "!</h1>");
            }
        }
    } else {
        out.println("<h1>No cookies found</h1>");
    }
}

এখানে:

  • getCookies() মেথড ব্যবহার করে রিকোয়েস্টে পাঠানো কুকিগুলি গ্রহণ করা হয়।
  • কুকির মান getValue() মেথড ব্যবহার করে বের করা হয়।

২. URL Rewriting ব্যবহার করে Session Tracking

URL Rewriting হল একটি পদ্ধতি যেখানে URL এর মধ্যে প্যারামিটার হিসেবে সেশন আইডি (Session ID) বা অন্য কোনো তথ্য যুক্ত করা হয়, যা সার্ভারে সেশন ট্র্যাক করতে সাহায্য করে। এটি কুকি বন্ধ থাকলে ব্যবহার করা হয়, কারণ URL এর মাধ্যমে সেশন তথ্য সার্ভারে পাঠানো যায়।

২.১ URL Rewriting এর মাধ্যমে সেশন ট্র্যাকিং

যখন ক্লায়েন্ট কুকি সমর্থন করে না, তখন সেশন আইডি URL-এ যুক্ত করা হয়। একটি সার্ভলেট দ্বারা সেশন আইডি URL এ যুক্ত করা যায় এবং পরবর্তী রিকোয়েস্টে এটি ব্যবহার করা হয়।

URL Rewriting এর উদাহরণ:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    // সেশন আইডি তৈরী করা
    String sessionId = "session1234";  // সাধারণত সেশন আইডি অটো জেনারেট করা হয়
    
    // URL এ সেশন আইডি যুক্ত করা
    String link = "http://localhost:8080/SessionServlet?sessionId=" + sessionId;
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><body>");
    out.println("<a href='" + link + "'>Click here to track session</a>");
    out.println("</body></html>");
}

এখানে:

  • sessionId প্যারামিটার URL-এ যুক্ত করা হয়েছে।
  • ক্লায়েন্ট যখন URL ক্লিক করবে, তখন সেশন আইডি সার্ভারে পাঠানো হবে এবং পরবর্তী রিকোয়েস্টে এই সেশন আইডি ব্যবহার করা হবে।

২.২ URL থেকে সেশন আইডি গ্রহণ করা

সার্ভলেটের মাধ্যমে URL থেকে সেশন আইডি গ্রহণ করা হয়:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String sessionId = request.getParameter("sessionId");  // URL থেকে সেশন আইডি গ্রহণ
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><body>");
    out.println("<h1>Session ID: " + sessionId + "</h1>");
    out.println("</body></html>");
}

এখানে:

  • request.getParameter() মেথড ব্যবহার করে URL থেকে সেশন আইডি গ্রহণ করা হচ্ছে।

সারাংশ

Session Tracking ওয়েব অ্যাপ্লিকেশনে ব্যবহারকারীর তথ্য ট্র্যাক করতে ব্যবহৃত হয়। Cookies এবং URL Rewriting হল দুটি সাধারণ পদ্ধতি যেগুলি সার্ভলেটের মাধ্যমে সেশন ট্র্যাকিং করার জন্য ব্যবহৃত হয়:

  • Cookies ব্যবহার করে ক্লায়েন্ট সাইডে ডেটা সংরক্ষণ করা হয় এবং সার্ভার থেকে ওই তথ্য পরবর্তী রিকোয়েস্টে পাঠানো হয়।
  • URL Rewriting যখন কুকি সমর্থিত না থাকে, তখন সার্ভলেট URL এর মাধ্যমে সেশন আইডি পাঠিয়ে সেশন ট্র্যাকিং করা হয়।

এই পদ্ধতিগুলি ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে স্টেটফুল আচরণ নিশ্চিত করতে সহায়তা করে এবং ব্যবহারকারী সেশনের তথ্য সংরক্ষণ করতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...